package com.susallwave.srcb.entity.sys;

import com.baomidou.mybatisplus.annotation.TableName;
import com.susallwave.srcb.entity.BaseEntityNoDel;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;

import java.io.Serializable;

/**
 * <p>
 * 权限表
 * </p>
 *
 * @author MyBatisPlusGenerator
 * @since 2025-07-20
 */
@Data
@EqualsAndHashCode(callSuper = false)
@TableName("sys_permission")
@ApiModel(value="Permission对象", description="权限表")
public class Permission extends BaseEntityNoDel implements Serializable {

    private static final long serialVersionUID = 1L;

    @ApiModelProperty(value = "父级权限编码")
    private String parentCode;

    @ApiModelProperty(value = "权限编码")
    private String permissionCode;

    @ApiModelProperty(value = "权限名称")
    private String permissionName;

    @ApiModelProperty(value = "权限类型: MENU/BUTTON/API")
    private String permissionType;

    @ApiModelProperty(value = "状态:ACTIVE/INVALID")
    private String permissionStatus;

    @ApiModelProperty(value = "前端路由路径，如 /system/user，前端通过权限控制页面访问")
    private String path;

    @ApiModelProperty(value = "前端组件路径，如 views/system/user/index.vue，用于动态路由生成")
    private String component;

    @ApiModelProperty(value = "序号")
    private Integer orderNum;
}
